<?php

	/**
     * Updater
     *
	 * @package      Core
     * 
     * @license      GNU Lesser General Public Licence see LICENCE-LGPL file or http://www.gnu.org/licenses/lgpl.html
	 */
	class Core_Updater
    {

	////////////////////////////////////////////////////////////////////////////
	//                                Variables                               //
	////////////////////////////////////////////////////////////////////////////

        /**
         * Singleton instance
         *
         * Marked only as protected to allow extension of the class.
         * To extend, simply override {@link getInstance()}.
         *
         * @var     Core_Installer
         */
        protected static $_instance = null;

	////////////////////////////////////////////////////////////////////////////
	//                            Getters / Setters                           //
	////////////////////////////////////////////////////////////////////////////


	////////////////////////////////////////////////////////////////////////////
	//                             Static Methods                             //
	////////////////////////////////////////////////////////////////////////////

        /**
         * Singleton instance
         *
         * @return      Core_Installer
         */
        public static function getInstance($type = null)
        {
            if (self::$_instance === null && $type !== null) {
            	$class = 'Core_Updater_'.ucfirst($type);
                self::$_instance = new $class();
            }

            return self::$_instance;
        }
    }